Device affiliation process from second display

ABSTRACT

Apparatus and methods for using a second display with a network-enabled television. In one implementation, this feature allows the user to conveniently affiliate their IPTV devices with various service providers and manage such affiliations directly from a second display device instead of going to a separate affiliation website. The second display could be a smart phone that can often be found beside the user, a laptop or tablet PC, a desktop PC, or the like.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application is a continuation of U.S. application Ser. No.13/076,783, filed Mar. 31, 2011 entitled “DEVICE AFFILIATION PROCESSFROM SECOND DISPLAY”, which claims benefit of priority to U.S.Provisional Patent Application Ser. No. 61/441,965, filed Feb. 11, 2011,entitled “Device Administrative Management from a Second Display”, bothof which are owned by the assignee of the present application and areincorporated by reference herein.

BACKGROUND

Internet delivery of digital content to IPTVs continues to increase, asdoes the popularity of IPTVs themselves. Digital content delivery isoften performed from content service providers, but some degree ofaffiliation between a user's content playback device and the serviceprovider is generally required to allow content access, e.g., for DRMpurposes. This requirement currently forces the user to log onto aseparate system, e.g., using their computer, to make the affiliation.Managing other administrative configurations also requires suchinteractions because typical registration portals are not engineered towork on mobile devices due to, e.g., their complexity.

SUMMARY

Systems and methods are provided that allow a user to manage theirdevice administrative configurations directly from a second displayapplication, such as a web application. Such systems and methods addressthe needs described above, and further address the difficulty ofimplementing a mobile version of a service registration site. Suchadministrative configurations include unregistering, setting up newaffiliations, and destroying existing ones.

In the case of affiliations, various benefits may inure. When a useraffiliates a device with a service, the service may then use theaffiliation information when that device contacts the service. In thisway, service providers are assured that a known device is making contactand can modify their responses based on previous behavior by that user,such as setting a preference or marking an asset as a favorite. If theuser entered authentication for an account with the service provider aspart of the affiliation process, then the service provide can tell whichof their user accounts is associated with the affiliation presented bythe device, in turn allowing the service provider to determine whatcontent that user is authorized to view. For example, a user may havepurchased a movie from a service provider. Through an affiliation thatwas set up with authentication, the service provider can determine thatthe account used to purchase the movie is that which is contacting theservice provider, and thus that the device is authorized to watch themovie.

Optionally, a user account, instead of a specific device, can beaffiliated with a service provider. In that case, any device registeredto the user account may provide the affiliation credentials to theservice provider, identifying that device as being registered to theuser account with that affiliation. In this regard, where the system andmethod display a list of service affiliations, the same may be displayedregardless of which device is chosen, or even if no devices are chosen.The devices displayed and controlled may then include any associatedwith the user account, or any that have been discovered by the seconddisplay, e.g., on the local network but not registered with the useraccount. Of course, besides cases where an affiliation is with a useraccount and not a device in particular, a user may wish to view allservice affiliations without regard to device, and the same type oflisting may again be displayed.

In one exemplary implementation, in which a web application is employed,the following steps are performed. The user begins by logging onto asecond display web application and selecting a device. Under a “managedevice” section, the user is able to view their service affiliations forthe device and is given a choice to unregister. Selecting to unregisteran existing affiliation may send an instruction to the registrationportal to destroy the affiliation. Selecting a button to unregister thedevice may send an instruction to the registration portal to unregisterthe device and reset the device's registration settings. In this case,the second display may automatically return to the device list forselection of another device, if any are available. If the device list isempty, an empty list may be displayed. To create a new affiliation witha service, the user can be redirected directly to the service'saffiliation webpage for affiliation, avoiding the need for a user tohave to type in and navigate to the service's special affiliation URL.Alternatively, the user may indicate that the affiliation is to be made,and the system may provide the necessary information and, e.g.,authentication credential, of the content playback device, to theservice provider to create the affiliation.

In this way, the user can manage their device administrativeconfigurations from a second display. In addition, the user does nothave to remember the URL of the registration portal, which may bedifficult to remember or find when needed. In this way, the seconddisplay is the single and central source of control for both the IPTVcontrol and its corresponding administrative configurations.

Implementations of the invention may include one or more of thefollowing. The system and method may allow a degree of deviceconfiguration and management that has not been achieved before. Forexample, region-specific business logic may be automatically implementedin content delivery. In this way, a user may have an IPTV in the UnitedStates and another, on the same account, in China. A user browsingcontent offerings, e.g., on a second display, may have chosen aparticular device as a playback device. If the device in China ischosen, the second display will show content offerings according to whatis allowed in China, according to either government or contract rules orotherwise. The same is true in the United States, where the contentofferings will correspond to what is allowed in the US, by the samesorts of rules. In some cases, the user will exercise a degree ofcontrol, such as via opt-in or opt-out functionality.

The system may then be extended to other situations, with a significantdegree of flexibility. For example, a user may browse and select contenton a second display, but direct the content to only be played back on aparticular content playback device at a given time or within a range ofallowed times. Such a choice of content may be prohibited from othercontent playback devices, such as those in a family or living room,because of family- or group-selected viewer restrictions.

The second displays provide complementary functionality to the IPTV, butgenerally do not require additional investment by the user because thesame make use of a device, e.g., a smartphone, laptop computer, tabletcomputer, a desktop, an internet appliance, etc., which most users wouldalready have in their possession. Such a second display is a perfectcomplement to an IPTV because of the second display's strength insupported languages and character font sets, data entry, processingpower, and user experience in content management. The applicationrunning on the second display may be a web application (scripting ornon-scripting), a native application, a Java application, or any othersort of application that may communicate with a server. For example, theASP/.NET framework with RPC can be employed to write the second displayapplication. Where the web application running on the second display iswritten in HTML or HTML with JavaScript, the same may be loaded by anydevice with a browser, and so the same is not limited to only a smallset of compatible devices or expensive remote controls. Where a smartphone is employed, a mobile version of the registration portal may beemployed, with an appropriate listing of fields and an appropriatemobile resolution.

Communications with service providers may take place through a proxyserver, and the proxy server presents to service providers theauthentication credentials of the content playback device, so that thesecond displays appear to the service providers as an authenticatedcontent playback device.

The second displays may include any device that can run an applicationthat communicates with a content playback device, including, but notlimited to, personal computers, laptop computers, notebook computers,netbook computers, handheld computers, personal digital assistants,mobile phones, smart phones, tablet computers, hand-held gaming devices,gaming consoles, and also on devices specifically designed for thesepurposes, in which case the special device would include at least aprocessor and sufficient resources and networking capability to run theweb application.

The content playback device can take many forms, and multiple contentplayback devices can be coupled to and selected within a given localnetwork. Exemplary content playback devices may include IPTVs, DTVs,digital audio systems, or more traditional video and audio systems thathave been appropriately configured for connectivity. In video systems,the content playback device includes a processor controlling a videodisplay to render content thereon.

In a general method, a user employing a second display has a useraccount with a source or clearinghouse of services. Here, the source orclearinghouse is represented as a user account on a management server,but it should be understood that the user account may be with a serviceprovider directly. In any event, this account has information storedthereon related to what content playback devices are associated with theaccount. When a user logs on, they may see this list of content playbackdevices and may choose a particular content playback device. If there isonly one content playback device on the network, or if the user isbrowsing in a way that the content playback device identity is notneeded, then this step may be omitted.

Once a content playback device has been chosen, a list of services maybe displayed (if more than one is available). The list of services maybe customized to those that have content playable on the chosen contentplayback device, or all available content may be displayed, in whichcase, in certain implementations, a notation may be displayed adjacentthe content item as to whether it is playable on the selected device.Where no content playback device has been selected, all availablecontent may be displayed. If no content playback device has beenselected, but the user account includes stored information about whichcontent playback devices are available, then all content may bedisplayed, a subset of all content may be displayed based on the knowncontent playback devices associated with the account, or notations maybe presented about which content playback devices can play whichcontent, or a combination of these. In some cases, a content serviceprovider may require a content playback device to be chosen. In othercases, no content playback device need be chosen and the user may simplychoose and queue content for later playback by a content playback deviceto-be-determined at a later time.

Assuming multiple services are available, the user then selects aservice to browse. In many cases, access to a service requires becomingaffiliated with the service. Affiliation in turn requires certain useraccount information as well as, in some cases, the authenticationcredentials of the content playback device. As described in greaterdetail above, the registration of the content playback device mayinclude a step of affiliating the content playback device with one ormore services, so that the service affiliation need not entail aseparate user step following device registration. In particular, theuser account may include information about which services the user hasaffiliations with, and once a new content playback device is added, theaffiliations may be automatically matched to the content playbackdevice, so long as other requirements are met. For example, someservices only allow a limited number of devices, or only allowparticular types of devices. Besides automatic matching, the user may beprompted to select which affiliations to create.

Once the content playback device is affiliated with the services, theuser may choose which service they wish to browse. For cases where acontent playback device has not been chosen, the user may still chooseservices and browse, but the content offerings may be less specific to agiven content playback device. Such situations are discussed in greaterdetail below. In any event, the service presents a list of availablecontent items as noted above. The presentation may be in any number offorms, including by category, or in any other form of organization. Theproxy server presents an authentication credential of the contentplayback device to the content server. In some cases, service providercredentials for accessing the various services may be stored in theaccount, and presented by the proxy server or management server to thecontent server when needed.

Individual services may employ their own DRM schemes which the currentsystem may then incorporate. For example, if a video content serviceprovider only allows a certain predetermined number of devices on whichtheir content may be played back, then this rule will be enforced orduplicated within the current system and method. Moreover, changes tosuch service provider parameters may be periodically polled for by theproxy server and/or management server, or the same may be polled for atthe next login of the service, e.g., at the time the affiliation isrenewed. In other words, upon login, the system and method may poll forand receive a token associated with the given service provider, thetoken providing information to the system about the user account withthe content service provider.

The system and method may include a management server which, along withthe content playback device, communicates with at least one contentserver such that the content server provides content items forpresentation or access of the content item at the content playbackdevice. The system and method may further include a proxy servercommunicating with the management server and the second displays. Insome cases, the proxy server may be merged with the management server,or in other cases a separate proxy server may be provided for eachcontent server or service provider.

In one aspect, the invention is directed to a method of managing serviceaffiliations of one or more content playback devices using a seconddisplay, including: establishing a session between a second display anda server; causing a list of one or more content playback devices to bedisplayed on the second display; receiving a first signal on the serverindicating a user choice of a content playback device; causing a list ofservice affiliations to be displayed on the second display correspondingto service providers, the service affiliations associated with thecontent playback device; and either receiving a second signal on theserver indicating that a service affiliation associated with the contentplayback device is to be removed, and removing the service affiliation,or receiving a third signal on the server indicating that a serviceaffiliation is to be added and associated with the content playbackdevice, and sending a fourth signal to a service provider associatedwith the service affiliation to create the service affiliation. Insteadof the service affiliations being associated with the content playbackdevice, in another implementation, the service affiliations may beassociated with the user account. In yet another implementation theservice affiliations may be associated with both the user account andthe content playback device.

Implementations of the invention may include one or more of thefollowing. The session may be associated with a user account, where atleast one of the content playback devices displayed are associated withthe user account, and where at least one of the service affiliationsdisplayed are associated with the user account. The method may furtherinclude displaying a list of potential service affiliations, and wherethe receiving a third signal on the server further includes receiving aselection from the list of potential service affiliations. The methodmay further include generating the list of potential serviceaffiliations based on at least one other service affiliation associatedwith the user account. The method may further include generating thelist of potential service affiliations based on at least one technicalspecification associated with the chosen content playback device. Themethod may further include generating the list of potential serviceaffiliations based on at least one ruleset, and the ruleset may be basedon a geographic region of the chosen content playback device. The methodmay further include loading a browser of the second display with a URLassociated with the chosen service provider. The method may furtherinclude receiving information about the content playback device from asecond server. The content playback device may be an IPTV, a digitalvideo recorder, a Blu-ray® player, a Blu-ray® recorder, a DVD player, aDVD recorder, an internet appliance, or an audio system. The method mayfurther include inheriting a configuration from another content playbackdevice, the configuration including at least one set of one or moreservice affiliations. The second display may be a tablet computer, asmart phone, a laptop computer, a desktop computer, an internetappliance, or a computing device with internet access. Upon receipt ofthe third signal, the method may further include receiving an inputtedcode and transmitting the received code to the service provider, andreceiving from a service provider a transmitted user token andaffiliation token, the tokens to be associated with the user account.Upon receipt of the second signal, the method may further include thatat least one user account identifier and the authentication credentialare transmitted to the service provider, whereby the service affiliationis removed from the content playback device. The causing a list of oneor more content playback devices to be displayed on the second displaymay include: retrieving information about content playback devices froma user account, discovering content playback devices on a local network,discovering content playback devices from a wireless broadcastcommunication, or discovering content playback devices from an infraredremote control signal. The removing the service affiliation may furtherinclude sending a fifth signal to a service provider associated with theservice affiliation to remove the service affiliation. The fourth signalmay include at least one authentication credential associated with thecontent playback device.

In another aspect, the invention is directed to a non-transitorycomputer-readable medium, including instructions for causing a computingdevice to implement the above method.

In yet another aspect, the invention is directed towards a method ofdisplaying service affiliations of one or more content playback devicesusing a second display, including: establishing a session between asecond display and a server; causing a list of one or more contentplayback devices to be displayed on the second display; receiving afirst signal on the server indicating a user choice of a contentplayback device; and generating a list of service affiliations to bedisplayed on the second display corresponding to service providers, theservice affiliations associated with the content playback device.Instead of the service affiliations being associated with the contentplayback device, in another implementation, the service affiliations maybe associated with the user account. In yet another implementation theservice affiliations may be associated with both the user account andthe content playback device.

Implementations of the invention may include one or more of thefollowing. The ruleset may be based on a geographic location of thechosen content playback device, or may be based on a time of day of thechosen content playback device. The method may further include filteringthe list based on a ruleset, and causing the filtered list to bedisplayed on the second display.

In another aspect, the invention is directed to a non-transitorycomputer-readable medium, including instructions for causing a computingdevice to implement the above method.

In another aspect, the invention is directed towards a method ofmanaging service affiliations of one or more content playback devicesusing a second display, including: establishing a session between asecond display and a server; displaying a list of one or more contentplayback devices on the second display; transmitting a first signal tothe server indicating a user choice of a content playback device;displaying a list of service affiliations corresponding to serviceproviders, the service affiliations associated with the content playbackdevice; and either transmitting a second signal to the server indicatingthat a service affiliation associated with the content playback deviceis to be removed, or transmitting a third signal to the serverindicating that a service affiliation is to be added and associated withthe content playback device, whereby a fourth signal is sent to aservice provider associated with the service affiliation to create theservice affiliation.

Implementations of the invention may include one or more of thefollowing. The session may be associated with a user account, where thecontent playback devices are associated with the user account, and wherethe service affiliations are associated with the user account. Themethod may further include transmitting a fifth signal to a serviceprovider associated with the service affiliation to remove the serviceaffiliation. The fourth signal may include at least one authenticationcredential associated with the content playback device.

In another aspect, the invention is directed to a non-transitorycomputer-readable medium, including instructions for causing a computingdevice to implement the above method.

In another aspect, the invention is directed towards a method ofdisplaying service affiliations of one or more content playback devicesusing a second display, including: establishing a session between asecond display and a server, the session associated with a user account;and generating a list of service affiliations to be displayed on thesecond display corresponding to service providers, the serviceaffiliations associated with the user account. In another aspect, theinvention is directed to a non-transitory computer-readable medium,including instructions for causing a computing device to implement theabove method.

In another aspect, the invention is directed towards a method ofmanaging service affiliations of one or more content playback devicesusing a second display, including: establishing a session between asecond display and a server; displaying a list of one or more contentplayback devices on the second display; transmitting a first signal tothe server indicating a user choice of a content playback device;displaying a list of service affiliations corresponding to serviceproviders, the service affiliations associated with the user account orwith the chosen content playback device; and either transmitting asecond signal to the server indicating that a service affiliation is tobe removed, or transmitting a third signal to the server indicating thata service affiliation is to be added and associated with the useraccount or content playback device, whereby a fourth signal is sent to aservice provider associated with the service affiliation to create theservice affiliation.

Advantages of certain embodiments of the invention may include one ormore of the following. Content playback devices may be convenientlyaffiliated or de-affiliated with a service provider and managed usingthe system and method. Other features may be provided, e.g., a displayedlist of service providers may automatically take into account regionalor business rulesets.

Other advantages will be apparent from the description that follows,including the figures and claims.

BRIEF DESCRIPTION OF THE DRAWINGS

Like reference numerals denote like elements throughout.

FIG. 1 is a block diagram of an exemplary system in accordance with oneaspect of the present principles.

FIG. 2 is a sequence diagram illustrating a system and method accordingto one aspect of the present principles.

FIG. 3A is a flowchart illustrating an exemplary method according to oneaspect of the present principles.

FIG. 3B is a flowchart illustrating another exemplary method accordingto another aspect of the present principles.

FIG. 4 is a block diagram of an exemplary second display system inaccordance with another aspect of the present principles.

FIG. 5 is a block diagram of another exemplary system in accordance withan aspect of the present principles.

FIG. 6 is a diagram illustrating regional variations of service providerlists on various second displays in accordance with an aspect of thepresent principles.

FIG. 7 is a flowchart illustrating an exemplary method according toanother aspect of the present principles.

FIG. 8 is a block diagram of an exemplary server in accordance withanother aspect of the present principles.

FIG. 9 illustrates an exemplary computing environment, e.g., that of thedisclosed second display, proxy server, or management server.

DETAILED DESCRIPTION

Referring initially to FIG. 1, a system 10 is shown including a contentplayback device 12 coupled to a local network 16, which may be wired,wireless, or a combination of both. Also coupled to the local network 16are one or more second displays 14 a-14 c, an exemplary one of which istermed herein second display 14 i. A number of servers may be accessedby the content playback device 12 and the second display 14 i throughthe local network 16 and the internet 25, including a management server18, a proxy server 22, and one or more content servers 24 correspondingto service providers (only one is shown in FIG. 1).

The second display 14 a includes a user interface 23 on which a user mayaccess an affiliation menu 29. Using the affiliation menu 29, the usercan affiliate the content playback device 12 and their user account withone or more service providers 24. The affiliation menu 29 may bepresented in a number of forms. For example, after a user account hasbeen accessed, a set of service affiliations may be displayed pertainingto the user account. In another implementation, a user chooses a contentplayback device first, and then a set of service affiliations isdisplayed, based on the chosen content playback device and on the useraccount. In any case, once the service affiliations are displayed,various functionality may be provided and displayed such as to removethe service affiliation or change a service affiliation. As described ingreater detail below, a set of potential service affiliations may alsobe displayed, from which a user may choose to create a new serviceaffiliation.

In many cases, an authentication credential of the content playbackdevice will also be logged with the user account and/or with a serviceprovider, this credential is often required for access to services andcontent items. The use of an authentication credential is discussedbelow. Content access is granted to the content playback device 12 andsecond display 14 a through an affiliation module 27 associated with theservice provider 24.

Using the system 10 of FIG. 1, a convenient and flexible user interface23 of the second display 14 a may be leveraged to provide a superiorexperience for the user in affiliating the content playback device 12and their user account with a service provider. The content playbackdevice 12 may be affiliated by the user employing the second displaywithout leaving its vicinity, comfortably and without the inconvenienceof doing the same on a separate PC or other computing device. Inaddition, any required affiliation information may be entered in a muchmore flexible user interface, including potential use of the user's ownlanguage.

Details of individual components are now described.

The content playback device 12 may be, e.g., an IPTV, a digital TV, adigital sound system, a digital entertainment system, a digital videorecorder, a video disc player, a combination of these, or any number ofother electronic devices addressable by a user on the local network 16.For the sake of simplicity, in this specification, the content playbackdevice 12 will occasionally be exemplified by an IPTV, in which case itwill generally include a processor that controls a visual display and anaudio renderer such as a sound processor and one or more speakers. Theprocessor may access one or more computer-readable storage media such asbut not limited to RAM-based storage, e.g., a chip implementing dynamicrandom access memory (DRAM), flash memory, or disk-based storage.Software code implementing present logic executable by the contentplayback device 12 may also be stored on one of the memories shown toundertake present principles. The processor can receive user inputsignals from various input devices including a remote control device, apoint-and-click device such as a mouse, a keypad, etc. A TV tuner may beprovided in some implementations, particularly when the content playbackdevice 12 is embodied by an IPTV, to receive TV signals from a sourcesuch as a set-top box, satellite receiver, cable head end, terrestrialTV signal antenna, etc. Signals from the tuner are then sent to theprocessor for presentation on the display and sound system. A networkinterface such as a wired or wireless modem communicates with theprocessor to provide connectivity to the Internet through the localnetwork 16. It will be understood that communications between thecontent playback device 12 and the internet 25, or between the seconddisplay 14 i and the internet, may also take place through means besidesthe local network 16. For example, the second display 14 i maycommunicate with the content playback device 12 through a separatemobile network.

The one or more second displays 14 a-14 c each bear a processor andcomponents necessary to operate an application for service provider andcontent selection, variations of which are described above. Inparticular, the processor in the second display may access one or morecomputer-readable storage media such as but not limited to RAM-basedstorage, e.g., a chip implementing dynamic random access memory (DRAM),flash memory, or disk-based storage. Software code implementing presentlogic executable by the second display may also be stored on one of thememories shown to undertake present principles. Further, the seconddisplay 14 i can receive user input signals from various input devicesincluding a point-and-click device such as a mouse, a keypad, a touchscreen, a remote control, etc. A network interface such as a wired orwireless modem communicates with the processor to provide connectivityto wide area networks such as the Internet as noted above.

The servers 18, 22, and 24 have respective processors accessingrespective non-transitory computer-readable storage media which may be,without limitation, disk-based and/or solid state storage. The serverscommunicate with a wide area network such as the Internet via respectivenetwork interfaces. The proxy server 22 may in some cases be combinedwith the management server 18, although in many cases it may bepreferable to separate the servers to better accommodate server load.The servers may mutually communicate via the internet 25. In someimplementations, the servers may be located on the same local network,in which case they may communicate with each other through the localnetwork without accessing the internet. For example, in one exemplaryimplementation, the management server 18 and the proxy server 22 may bedisposed in the same data center, so communication between the two maystay within the data center.

While an exemplary method of the system is described below, certainmethod steps especially pertinent to certain arrangements of the seconddisplay will be described here.

Responsive to the second display 14 i sending a request to the proxyserver 22 for an executable utility, the proxy server 22 returns theutility to each second display 14 i. Running the utility causes theinstantiation of an application. The implementation discussed hereincludes a web application, but it will be understood that other typesof applications may also be employed as described above. The seconddisplay 14 i, executing the web application, prompts a user to input toeach second display 14 i login information. The login information may becommon or may differ between second displays. The proxy server 22,responsive to reception of correct login information from the contentplayback device 12, returns the local IP address of the content playbackdevice 12 to the second display 14 i, because the same has previouslybeen registered to a user account in which such information ismaintained. The proxy server 22 may also return a list of contentplayback devices on the local network, responsive to which the seconddisplay 14 i may select one for content playback. In turn, each seconddisplay 14 i uses the local content playback device address to accessthe content playback device 12 directly to request information about thecontent playback device 12, which information is returned from thecontent playback device 12 to the second display 14 i such that thelocal address of the content playback device 12 need not be globallyaddressable. Each second display 14 i may also select content forplayback on different content playback devices. The second display 14 isends the information about the content playback device 12 to the proxyserver 22, requesting a list of services available to the contentplayback device 12 from one or more service providers. The services maybe dependent on the device characteristics of the content playbackdevice 12 chosen. For example, if the chosen content playback device 12is an IPTV, video services may be returned. If the chosen contentplayback device 12 is an audio system, audio services may be returned.

The proxy server 22 relays the request for a list of services to themanagement server 18, which returns the list to the proxy server 22,with the proxy server 22 in turn sending the list to the second display14 i for presentation of information on the second display 14 i.Responsive to a user selection of an item on the list, the seconddisplay 14 i sends a request for a software asset corresponding to theselected content item to the proxy server 22. The proxy server 22requests a service login of the content server 24 providing the content,and the content server 24 provides to the proxy server 22 a list ofcontent items, assets, categories, or services, and the proxy server 22relays the list to the second display 14 i, which is presented on thesecond display 14 i so that the user can navigate to enter a selection.Responsive to the selection, the second display 14 i sends a command tothe content playback device 12 to access and play back the selection.

The command to play the local content item may be in a number of forms.The second display 14 i may communicate to the proxy server 22 therequest on behalf of the content playback device 12, and this requestmay be via the local network or via other means. Alternatively, thesecond display 14 i may transmit a request to the content playbackdevice 12 that it itself formulate the request, and this transmissionmay be by way of the local network, the internet generally, or via othermeans such as other wired or wireless transmission schemes, includingvia USB, IR, Bluetooth®, or any other schemes. If the second display 14i is configured to address the content playback device 12 at a non-locallevel, e.g., at the server level, then the second display 14 i may bephysically located virtually anywhere and still be able to queue contentor to command the content playback device 12 to play content. In thiscase, however, server load would increase over the case where the seconddisplay and content playback device communicated directly or over alocal network.

Certain method steps of an arrangement of the content playback deviceare described here. Using a network interface, the content playbackdevice 12 can communicate with a management server 18 on the Internetand with one or more content servers 24, also on the internet andcommunicating with the management server 18. The management server 18receives and stores a local IP address of the content playback device12. The content playback device 12 communicates with the managementserver 18 to arrange for content items from the content server 24,operated by a service provider, to be played back on the contentplayback device 12. In more detail, the content playback device 12 sendslogin information to the management server 18 which returns to thecontent playback device 12 a user token that must subsequently bepresented by the content playback device 12 to the content server 24 toobtain content from the content server 24.

FIG. 2 is a sequence diagram illustrating an exemplary implementation ofthe system and method for enabling a user to employ a second display tobrowse content playback devices, service providers, content items andselect the same for playback by a content playback device. FIG. 2assumes that the user has already created an account with a managementserver and has affiliated one or more content playback devices with thataccount.

At state 52, a user turns on the content playback device 12. At state 54the content playback device sends login information including, e.g.,username and password, to the management server 18, which at state 56returns to the content playback device a user token that maysubsequently be presented by the content playback device to a contentserver 24 to obtain content from that server. The management server 18in addition stores the local IP address of the content playback device12.

At state 58, the user turns on the second display 14 i and, e.g.,instantiates a web browser session in which control may be exercisedover the content playback device. A utility is executed on the seconddisplay 14 i, at state 60, which sends a request to the proxy server 22,which returns in state 62 a web application, e.g., HTML with JavaScript,for the second display to execute for browsing content items. Thisapplication may make, e.g., asynchronous JavaScript and XML calls to theproxy server 22 and to the content playback device 12 to obtaininformation to control the content playback device 12.

With more specificity, at state 64, using the JavaScript received fromthe proxy server 22, the second display 14 i prompts the user to inputto the second display 14 i the account login information, including,e.g., the same username and password that the content playback deviceprovided to the management server 18 in state 54 during deviceregistration. Of course, the account login information may differ aswell. It will be appreciated that the servers 18, 22, and 24 communicatenecessary account information between them as needed to realize theprinciples described here.

The proxy server 22 responds to a correct user name and password fromthe second display 14 i in an authentication request state 63. The proxyserver 22 verifies the user name and password with the management server18 (states 67 and 69), creates and transmits a session token to thesecond display, obtains information about content playback devicesaffiliated with the user account, and completes the authentication instate 65. The proxy server 22 may return to each second display theinformation about all content playback devices 12 that are affiliatedwith the user account associated with the user name and password,including their local IP addresses which were stored by the managementserver 18 after login at 54 (and subsequently provided to the proxyserver 22). In more detail, the proxy server 22 sends a token to thesecond display 14 i, the token associated with a content playbackdevice, and this token gets communicated in future transactions betweenthe second display and the proxy server, so that the proxy server 22knows what content playback device the content item is intended for.Each user with each second display may then choose a content playbackdevice and browse the services and content options available through theservices in state 96 and subsequent steps.

The second display 14 i, using the local IP address returned as notedabove, accesses the content playback device directly, in the sense ofcommunicating through the local network. To select a particular contentplayback device, the second display 14 i requests information about thecontent playback device 12 at state 70, including language information,digital rights management (DRM) information, etc., as desired, whichinformation is returned from the content playback device to the seconddisplay 14 i at state 72. Since the second display 14 i knows the IPaddress of the content playback device 12 and consequently communicatesdirectly with the content playback device 12, the second display 14 icommunicates using a local web address of the content playback device 12that need not be globally addressable, and may so communicate as long asthe second display 14 i and content playback device 12 are on the samelocal network.

Each second display 14 i may send the client information received atstate 72 to the proxy server 22, requesting a list of services availableto the content playback device 12, or that the content playback device12 is entitled to, from one or more of the content servers 24. The proxyserver 22 relays the request to the management server 18, which returnsthe requested service list to the proxy server 22. The proxy server 22in turn sends the services list to the second display for presentationof available services on, e.g., a display of the second display. Eachuser browses the services and their content on the second display justas though it were the actual content playback device.

A user can input, using, e.g., a second display input device, aselection of a service on the list that was returned to the seconddisplay. In response, the second display, at state 74, sends a requestfor the corresponding service to the proxy server 22 along with theservice token that that second display may have received from thecontent server 24 via the management server 18.

Responsive to the request, the proxy server 22 requests a service loginat state 86 of the content server 24 providing the selected service. Atstate 88, the content server 24 provides to the proxy server 22 a listof content items, assets, categories or services, as the case may be,for the particular content server 24. If desired, the proxy server 22may also request of the content server 24 a list of options, and thelist may be returned in, e.g., extended markup language (XML) format tothe proxy server 22 which relays the content items, assets, categories,services, etc. available for selection to the second display at thestate 80.

The content available for selection is presented on the second displayso that the user can navigate in state 97 the display to enter aselection. Responsive to the selection, the second display at state 98sends a command to the content playback device 12 to play the selection,and in particular sends a playlist id or reference identifier indicatingthe selection. At state 100, the content playback device 12, using itsauthentication credentials, sends the playlist id or referenceidentifier to the proxy server 22, which returns the required playlistdata in state 102. The content playback device 12 can then request thecontent URL with the playlist data in state 104, which may be respondedto with a return of the content URL for playback of the content item onthe content playback device 12 in state 106.

Variations of the system and method are now described.

If the content playback device were already playing content, the newcontent commanded to be played by the second display may be placed in aqueue in the content playback device and played when the current contentcompletes. In any case, once the content has been commanded to beplayed, the user may continue to browse the second display for othercontent, to play or to add to the queue. Other users may employ theirown second displays to do the same. A user may also desire to switchdevices and resume playback on a different device by, e.g., navigatingto a “recently viewed” list and selecting the last video played afterswitching control to the desired device.

The above description has been for the case where the proxy server 22 isemployed to hide the content source, e.g., a content URL, from thesecond display 14 i. That is, the proxy server 22 provides an API forthe second display to use so that the content and/or content URL cannotbe accessed directly, i.e., the details of the management servertransactions to access the services remain desiredly unknown. In manycases, the second display 14 i may have stored thereon little or nothingof the content playback device 12 details. In some cases, however, theURL may be directly provided from the proxy server 22 or the proxyserver 22 may even be bypassed, e.g., in cases where the content item isintended for free distribution, e.g., movie trailers or the like.Similarly, while the above description has focused on content itemplayback on content playback device 12, certain content items, e.g.,those which are intended for free distribution, may be played back onthe second display 14 i itself, if the same has been appropriatelyconfigured.

In the case where multiple second displays request content to be playedat or near the same time, a simple rule such as the first-in-time mayprevail. Alternatively, a priority scheme may be configured, such thatcertain second displays take precedence over other second displays.

Note further that the control device may command the content playbackdevice to play content by sending to the content playback device overthe local network commands coded as if they were sent from an infraredremote control, specifically for example the commands may be in the SonyInfrared Remote Control System (SIRCS) protocol.

FIG. 3A illustrates one exemplary method 130 by which serviceaffiliations may be created or destroyed. A first step is theestablishment of a user account session between a second display and aserver, e.g., via a second display web application (step 112). It willbe understood, however, that other types of applications may also beemployed. For example, the second display may employ a nativeapplication to perform these functions. The session is generallyassociated with a user account, and includes entering logon credentialssuch as a username and password. Other variations will also beunderstood. The server itself may be a management server, a proxyserver, or the like.

A next step is to provide a means for a user to choose a contentplayback device (step 114). In some cases, the user account will haveinformation stored thereon about which content playback devices areassociated or registered with the user's account. Other ways ofdiscovering content playback devices may also be employed, includingdiscovery on the local network or via a direct wireless discovery suchas via infrared or Bluetooth®. Once discovered, devices not associatedwith the user's account may be registered, which in the process createsan affiliation with the user's account. In any case, this step providesa means for the user to choose a content playback device to which anaffiliation with a service provider will be managed.

A next step is to display the available services (step 124), asappropriate to the device chosen in step 114. In other words, variousservice provider options may be displayed, according to if they pertainto the chosen content playback device. For example, if the chosencontent playback device is an IPTV, the displayed service providers mayinclude affiliated providers of audiovisual content. If the contentplayback device is an audio receiver, the displayed service providersmay include affiliated providers of audio content.

A next step is to manage device affiliations (step 126). This step maybe incorporated into various steps below. In general, managing deviceaffiliations will include inspecting affiliations, removing services,adding services, and modifying existing services.

In FIG. 3A, these are shown as unaffiliating a device with a service(step 128) and affiliating a device with a service (step 132). In thefirst, a device is unaffiliated with the service. Followingunaffiliation, the device will generally no longer be able to accesscontent from that service provider, except for content that is availableto unaffiliated devices, if any. Unaffiliations may occur for a numberof reasons, including to make slots available for other devices,particularly if the service provider only allows a limited number ofdevices to access content. Other reasons for unaffiliation may includethat a user no longer has access to a device, such as if the device issold, given away, stolen, in storage, broken, destroyed, or no longerconnected to a network connection. In the case where ownership of adevice is transferred, the user may wish to perform a “factory reset” onthe device, which would remove all of the affiliations for the device,including the affiliation between that device and the user's account.

Affiliating devices with services (step 132) provides the ability toaccess content from the service provider. In many cases, affiliationrequires some level of authentication of the content playback device.Authentication provides some measure of control over contentdistribution for the service provider. Step 132 may be performed in anumber of ways. One way is entirely within a registration or affiliationapplication on the second display. Another way is for the registrationor affiliation application to transfer the user to a service provider'swebsite. At the service provider's website, the user may enterauthentication information for affiliation directly. The latter methodhas the advantage that the user's authentication credentials for theiraccount with the service provider are never exposed to anyone other thanthe service provider.

Whether a device has been affiliated with the service or unaffiliated,the server may be updated (step 129) to reflect the same. Finally, theuser interface on the second display may return the user to the list ofcontent playback devices or to another point as desired by thedeveloper.

It is noted that, if the content playback device has not previously beenassociated with the user account, a step of device registration may beperformed. Details of such a registration process are provided in U.S.patent application Ser. No. 12/982,463, filed Dec. 30, 2010, entitled“Device Registration Process from Second Display”, owned by the assigneeof the present application and incorporated by reference herein. In thisfigure, however, it is noted that a device can be registered with theserver (step 116), or the device may be unregistered from the server(step 118). If unregistered, various registration settings on the deviceand within the user account may be reset. The user interface on thesecond display may then return the user to the device list (step 122).If no devices remain, the list may be empty.

FIG. 3B illustrates another exemplary method 120 by which serviceaffiliations may be created or destroyed. A first step is theestablishment of a user account session between a second display and aserver, via a second display application (step 101). This may beaccomplished in the manner noted above. A next step is to display a listof content playback devices (step 103). As above, these may be contentplayback devices associated with the user account or which are found bythe user system via discovery. A next step is to receive a first signalon the server indicating a choice of a content playback device (step105). In this step, a user has selected a content playback device, and asignal is transmitted from the user's second display through the localnetwork to the server, which may be the management server, the proxyserver, or the like. A next step is that the server causes to bedisplayed on the second display a list of service affiliationscorresponding to the user account and to the chosen content playbackdevice (step 107). From this list, the user can choose to unaffiliatethe content playback device from a service, to affiliate the contentplayback device with a new service, or the like.

In more detail, a next step may be to receive a second signal on theserver indicating a service affiliation to be removed (step 109). Forexample, the user interface on the second display may have a ‘remove’ or‘delete’ button which may be employed to perform this step. Activationof such a button causes the second signal to be sent to the server. Insome implementations, upon the server receiving the second signal, theserver may cause a signal (termed herein a fifth signal) to be sent to aservice provider to remove the affiliation (step 111). Alternatively,the un-affiliation may be performed entirely at the management server,with no reference or communication made to the content server. Inanother implementation, instead of the affiliation being automaticallyremoved, the second display browser may be loaded with the URL of theservice provider, and the user may enter information on a page providedby the service provider to perform the unaffiliation.

Where a new affiliation is being created, step 107 may be followed witha step of displaying potential affiliations (step 115). In this step, anumber of potential affiliations may be displayed to the user, where thepotential affiliations are appropriate to the chosen content playbackdevice. For example, potential affiliations may be displayed based onother affiliations the user has set up in their account. In one example,if a user has a video service set up with certain devices, it may bepresumed that the user would like the video service set up with otherdevices. Potential affiliations may also be based on a technicalspecification associated with the chosen content playback device. Forexample, if a chosen content playback device is an IPTV, it may bepresumed that the user desires to set up audiovisual content serviceswith that chosen content playback device.

In another implementation, the displayed potential affiliations may bebased on a ruleset, where the ruleset is informed by various factorsincluding, e.g., the region in which the content playback device islocated. For example, if the content playback device is located in aforeign country, the potential services displayed may be those that areallowed in that foreign country, or those for which contracts existbetween service providers and distributors in that country. In yetanother implementation, potential affiliations may be based on inheritedor legacy configurations known by the system about other or priorcontent playback devices associated with the user account.

In any case, once potential affiliations are displayed, a next step maybe to receive a third signal on the server indicating a serviceaffiliation to be added (step 117). In this step, the user indicates ifa particular service affiliation is to be added, such as by activating abutton or the like. In one implementation, this step is followed by astep of sending a fourth signal to the service provider to create theaffiliation, including any required authentication credentials necessaryto affiliate the content playback device with the service provider (step119). As described above, the authentication credential may be needed tobrowse certain services. The second display may cause the authenticationcredential to be transmitted by sending a signal to the content playbackdevice to cause the same to perform the transmitting, although in somecases the second display may also transmit it.

Authentication with a service is generally a two-step process. The firststep is to associate the content playback device with a user account,such as with the management server or proxy server. The second step isto associate the content playback device with service providers.

The second step may be accomplished in a number of other ways as well.In one implementation, the second step is accomplished by having eachservice provider issue and display a code on the content playback devicewhich the user enters into the service's web site. The service's website then transmits a user token (which it receives from the contentplayback device when it created the code) and a unique affiliation tokenthat the service provider creates to the user account, which may thenstore that token and associate the same with the device. The serviceprovider may then retrieve the affiliation token back when communicatingwith that content playback device, so that the service provider candetermine the user account to which the content playback device isaffiliated. In this regard it is noted that generally affiliation tokensmay be specific to a particular content playback device, and users haveto enter the code into the service provider's web site for the newcontent playback device they are trying to affiliate. In some cases,however, a service provider may define their affiliation token as beingan identifier for a user instead of a particular content playbackdevice, in which case an affiliation token could be associated to newcontent playback devices as they are associated to the same user accountas the device that already has that affiliation token.

In another implementation, the second display device may be employed toperform the affiliation. In this implementation, the step of displayingthe code to the user on the display device may be eliminated. Forexample, the second display device may, if enabled, transmit an IRsignal that may be received by the device to be registered, causing thedevice to contact the server with an identification code from the IRsignal, thus registering it to the user's account that was in use on thesecond display. Other methods of communication may also be employed,such as Bluetooth®, to accomplish communication between the seconddisplay and the device to be registered.

A number of optional steps may also be employed. For example,information may be retrieved about the content playback device fromanother network source, which may be entirely unrelated. Information maybe obtained about the content playback device that better allows thecontent playback device to be situated within the user account. Forexample, technical details about the content playback device may beobtained and stored.

To implement the above, in one implementation, a next step may be toreceive at the server a transmitted service token and an affiliationtoken, and to associate the received tokens with the user account (step121). The transmitted service token and affiliation token may bereceived by the management server from the content server associatedwith the service provider. In an alternative implementation, however,after the fourth signal is received indicating that a serviceaffiliation is to be added, the second display browser may be loadedwith the URL of the service provider, so as to allow the user to makethe affiliation themselves, on the service provider website or on a formassociated with the service provider but which is part of, e.g., themanagement server system (step 113). The use of step 113, while stillrequiring some user input, still provides advantages over prior systems,as the user need not find and navigate to the service provider URL, butrather has the same already loaded for them.

Aspects of various components are described below.

FIG. 4 illustrates one implementation of a second display 110. Thesecond display 110 includes a display module 137 for use in, among otheraspects, displaying and entering affiliation information. The displaymodule 137 may also be employed in browsing lists and selecting itemsrelated to the content playback device. For example, a list of contentplayback devices accessible to the local network and/or addressable bythe second display may be displayed using the display module 137, andthe user may choose a content playback device from among them. Inaddition to choosing a content playback device, a user may review a listof accessible service providers using the display module 137. Forexample, such service providers may include those offeringvideo-on-demand services for movies and other video content, or anynumber of other sites on which media and content may be browsed andselected. In one implementation, where a content playback device hasbeen chosen, the results may be filtered based on the capability of thedevice to render the content. In another implementation, the displaymodule 137 may display not just content accessible to the local network,but also content resident on the local network, such as content storedon a digital video recorder or Blu-ray® player.

In some implementations, the display module 137 may be a module thatproduces an output signal for display by another device. In this case,the actual display is external to the second display itself. Forexample, in the case of a Blu-ray® player being used as a seconddisplay, the display module 137 would be a unit that produces, e.g., anHDMI output signal, while the actual display is performed by the TV thatis connected to that HDMI output.

The second display 110 also includes a module for network communications163. The network communications module 163 allows the second display tocommunicate with the local network as well as, in some cases, specificdevices directly. As part of the network communications module 163, acommunications module 138 for communications with a content playbackdevice is provided. The content playback device communications module138 allows the second display to communicate with the content playbackdevice either over the local network, via the internet, or directly.Such direct communications may include various types of wired orwireless transmission schemes, including Wi-Fi, USB, infrared,Bluetooth®, or the like. The content playback device communicationsmodule 138 may further include a service affiliation module 136. Theservice affiliation module 136 performs the affiliation steps notedabove, including receiving and transmitting affiliation information, andthe like.

Also within the network communications module 163 may be an optionalweb-browsing module 134 through which the above-noted content items maybe browsed in the case where the second display application is a webapplication. The web-browsing module 134 may be implemented in a numberof ways, and is capable of executing application code written in HTMLand JavaScript, or the like. A web-browsing module implemented in such away allows the same to be implemented across many platforms, allowingany number of types of second displays to be employed. In some cases,however, special applications, e.g., helper applications, may beemployed to communicate with particular proprietary or non-web-basedtechnologies. Where the second display application is non-web-based, andis written in, e.g., native code, the web-browsing module 134 may bereplaced with a suitable other module allowing service and contentselection or other such functionality.

It is noted that the above modules may be implemented in hardware,non-transitory software, or a combination of the above. Typically, thesame will be implemented within the context of a laptop computer, atablet computer, a smart phone, or the like.

Referring to FIG. 5, a system 140 is illustrated indicating affiliationcreation and destruction. Certain elements in FIG. 5 are similar tothose in FIG. 1. In FIG. 5, however, a plurality of service providers 24a, 24 b, and 24 c are illustrated. Each has a corresponding affiliationmodule 27 a, 27 b, and 27 c, respectively. FIG. 5 shows how a contentplayback device, as associated with the user account, can be affiliatedusing the authentication credentials 30 of the content playback devicein either the management server 18 or a proxy server 22 to enable accessto one or more service providers through their respective affiliationmodules. Access to the service providers is granted because the useraccount, having registered therewith content playback devices havingvalid authentication credentials, is properly affiliated with respectiveservice providers. As noted above, the system provides a central accesspoint by which service providers and content playback devices may bematched and unmatched, i.e., affiliated and unaffiliated.

FIG. 6 illustrates how rulesets based on regional variations andtechnical capabilities of content playback devices can lead tovariations in displayed lists of services on second displays, suchsecond displays focused on the different content playback devices.

In FIG. 6, a system 50 is illustrated showing two regions, a firstregion 141 and a second region 143. In this exemplary system, a user hasa user account 139, and the user account has a number of serviceaffiliations corresponding there with, these enumerated as serviceaffiliations 1−N. In the first region, the user has three contentplayback devices, a first content playback device 145 a, a secondcontent playback device 145 b, and a third content playback device 145c. In the second region, the user has a fourth content playback device149 a, a fifth content playback device 149 b, and a sixth contentplayback device 149 c. Also in the first region 141, the user has asecond display 147. In the second region, the user has a second display151 a and another second display 151 b.

In the first region, the second display 147 is exemplified as beingfocused on the first content playback device 145 a. The first contentplayback device 145 a has been affiliated with a number of the servicescorresponding to the user account 139, but not all. In particular, thefirst content playback device 145 a is not shown as affiliated withservice 2 or with service N. Accordingly, its service affiliations areas shown in its box 147. The service affiliations for the first contentplayback device may be not shown with respect to those services 2 or Nfor a number of reasons, including content restrictions in the firstregion 141. Other reasons may also pertain, as have been described.

In the second region 143, the second display 151 a is focused on thefourth content playback device 149 a. For the same reasons as notedabove, the fourth content playback device 149 a may be affiliated withone or more of the service affiliations in the user account 139. Theservices shown in the box associated with 151 a correspond to affiliatedservices to which the content playback device 149 a may access in thatregion. In the same way, the second display 151 b may be focused on thesixth content playback device 149 c, in the sense that the user hasselected that content playback device for content access from serviceproviders. In this case, the service affiliations displayed on thesecond display 151 b may differ from that on the second display 151 a,because the two second displays are focused on different contentplayback devices, and the content playback devices may have differentaffiliations and technical specifications. In particular, the contentplayback device 149 c is illustrated as having accessible serviceaffiliations as listed in the user account 139, excepting serviceaffiliations 1, 2, N−1, and N, as illustrated on the display of seconddisplay 151 b. In this case, the regions are the same but the differentservice affiliations may pertain to differences in types of contentplayback devices, differences in affiliations as made by the user, orfor other reasons.

Other examples may also be seen, including where a user with a seconddisplay may use the same to control a content playback device in adifferent region.

Referring to FIG. 7, an implementation of method steps is illustrated byflow chart 160. In particular, flow chart 160 illustrates method stepswhich may be employed in carrying out step 124, i.e., showing theavailable services, filtered on the chosen content playback device. Afirst step is to retrieve a list of services from the user account (step123). This list of services may pertain to the list of serviceaffiliations illustrated in block 139 of FIG. 6. A next step is toretrieve a ruleset of the pertinent region, keyed on the contentplayback device (step 125). In some cases, step 125 may be performedprior to step 123. A next step is to apply the retrieved ruleset to thelist of services retrieved from the user account (step 127). The rulesetmay contain limitations as to access according to region, time of day,or using any factor as dictated by the system. A subsequent step is toremove the services from the list to be displayed if the rulesetprohibits access to the service by the content playback device (step131). A final step is then to display the filtered list of services(step 133). The displayed filtered list of services is displayed on thesecond display, e.g., by the display module 137.

As noted above, it is not required that services or service affiliationsbe filtered on a content playback device. Displayed services may beneutral in this regard, and a list of service affiliations may bedisplayed that covers all affiliations associated with the user. In somecases such a display is by user choice. In other cases serviceaffiliations may be account-wide, and apply to all devices on theaccount or even to all devices accessible by the second display. Othervariations will also be seen.

Referring to FIG. 8, an implementation of a server 170 which may operateaccording to the principles described here is illustrated. The servermay be, e.g., a proxy server, a management server, a first server asdescribed above, or the like. The steps performed by the memories withinthe server 170 are described in greater detail above. The server 170includes a processor 165. The server 170 further includes memory 167bearing computer-readable instructions capable of establishing a useraccount session between the server and a second display. The server 170further includes memory 169 bearing computer-readable instructionscapable of receiving data indicating a choice of a content playbackdevice. The server 170 further includes memory 171 bearingcomputer-readable instructions capable of receiving data about thecontent playback device and associating the content playback device withthe user account. The data about the content playback device may bereceived from the user, from a server, or from an unrelated orthird-party Internet source. The server 170 further includes memory 177bearing computer-readable instructions capable of receiving anauthentication credential of the content playback device. The server 170further includes memory 179 bearing computer-readable instructionscapable of unregistering the content playback device from the useraccount. The server 170 further includes memory 183 bearingcomputer-readable instructions capable of creating and destroyingaffiliations with service providers using information in the useraccount and if necessary the authentication credential of the contentplayback device. The server 170 further includes memory 181 bearingcomputer-readable instructions capable of sending data for display, thedata filtered on the content playback device and on a ruleset. Theruleset, as described above, may be based on a number of factors,including local regulations, contractual rules, or the like.

In an alternative implementation, these memories as described above maybe implemented as modules, either in software, hardware, or variousforms of firmware. For example, a session module may be employed toestablish user account sessions between the server and the seconddisplay. Various communications modules may be employed to, e.g.,receive data indicating a choice of a content playback device, receivedata indicating a service provider to be affiliated with the contentplayback device, and transmit data to a service provider to affiliatethe content playback device with the same.

It is also noted that second displays may be implemented in terms ofsuch memories, although in this case the memories may include: a memorybearing computer readable instructions capable of establishing a useraccount session between the second display and a server; memory bearingcomputer readable instructions capable of receiving user inputindicating a choice of a content playback device (such as via the userinterface); memory bearing computer readable instructions capable ofreceiving user input about a service provider such as to create ordestroy an affiliation between the selected content playback device andthe service provider; and memory bearing computer readable instructionscapable of displaying data for display, such as to provide thefunctionality described above (selecting content playback devices andservice providers), as well as to display a list of service providersfrom which content items may be played back, as filtered by a ruleset.

Systems and methods have been disclosed that allow improvement of theuser experience of the IPTV without adding to the hardware costs of theunit. As disclosed above, users may use the system and method toregister and manage affiliations for IPTVs directly from a seconddisplay. The user need not visit multiple service provider websites toaffiliate their devices with each service provider. Instead, upon theestablishment of a user account session, the user may be enabled todirectly control affiliations between their service providers and theircontent playback devices . In particular, the management server and/orproxy server may employ APIs that allow access and modification ofservice provider accounts. Modifying these accounts using a userinterface on the second display causes the modification to propagatethrough to the service providers, negating the need for a user toindividually access and modify each service provider account. Inaddition, besides affiliating new content playback devices, the systemmay be employed to affiliate or remove content playback devices fromservice provider accounts.

One implementation includes one or more programmable processors andcorresponding computing system components to store and execute computerinstructions, such as to execute the code that provides the seconddisplay or various server functionality, e.g., that of the proxy server22, management server 18, and content server 24, as well as forbrowsing. Referring to FIG. 9, a representation of an exemplarycomputing environment for a second display or for any of the servers isillustrated.

The computing environment includes a controller 156, a memory 174,storage 172, a media device 158, a user interface 164, an input/output(I/O) interface 166, and a network interface 168. The components areinterconnected by a common bus 170. Alternatively, different connectionconfigurations can be used, such as a star pattern with the controllerat the center.

The controller 156 includes a programmable processor and controls theoperation of the second display and servers and their components. Thecontroller 156 loads instructions from the memory 174 or an embeddedcontroller memory (not shown) and executes these instructions to controlthe system. In its execution, the controller 156 may provide the seconddisplay control of a content playback device system as, in part, asoftware system. Alternatively, this service can be implemented asseparate modular components in the controller 156 or the second display.

Memory 174, which may include non-transitory computer-readable memory175, stores data temporarily for use by the other components of thesecond display 14 i, and the same may include memories 167, 169, 171,177, 179, 181, and 183 as discussed above. In one implementation, memory174 is implemented as RAM. In other implementations, memory 174 alsoincludes long-term or permanent memory, such as flash memory and/or ROM.

Storage 172, which may include non-transitory computer-readable memory173, stores data temporarily or long-term for use by other components ofthe second display and servers, such as for storing data used by thesystem. In one implementation, storage 172 is a hard disc drive or asolid state drive.

The media device 158, which may include non-transitory computer-readablememory 161, receives removable media and reads and/or writes data to theinserted media. In one implementation, the media device 158 is anoptical disc drive or disc burner, e.g., a writable Blu-ray® disc drive162.

The user interface 164 includes components for accepting user input,e.g., the service affiliation information, from the user of the seconddisplay, and presenting information to the user. In one implementation,the user interface 164 includes a keyboard, a mouse, audio speakers, anda display. The controller 156 uses input from the user to adjust theoperation of the second display 14 i.

The I/O interface 166 includes one or more I/O ports to connect tocorresponding I/O devices, such as external storage or supplementaldevices, e.g., a printer or a PDA. In one implementation, the ports ofthe I/O interface 166 include ports such as: USB ports, PCMCIA ports,serial ports, and/or parallel ports. In another implementation, the I/Ointerface 166 includes a wireless interface for wireless communicationwith external devices. These I/O interfaces may be employed to connectto one or more content playback devices.

The network interface 168 allows connections with the local network andoptionally with content playback device 12 and includes a wired and/orwireless network connection, such as an RJ-45 or Ethernet connection or“Wi-Fi” interface (802.11). Numerous other types of network connectionswill be understood to be possible, including WiMax, 3G or 4G, 802.15protocols, 802.16 protocols, satellite, Bluetooth®, or the like.

The second display and servers may include additional hardware andsoftware typical of such devices, e.g., power and operating systems,though these components are not specifically shown in the figure forsimplicity. In other implementations, different configurations of thedevices can be used, e.g., different bus or storage configurations or amulti-processor configuration.

Various illustrative implementations of the present invention have beendescribed. However, one of ordinary skill in the art will recognize thatadditional implementations are also possible and within the scope of thepresent invention. For example, the application running on the seconddisplay may be a web application, a native application, a Javaapplication, or any other sort of application that may work to establisha session with a server. Moreover, while several implementations of theinvention include that the user select a particular content playbackdevice for playback, in some implementations a user may browse contentwith no content playback device selected at all. The user may alsobrowse transactions like video rentals or home shopping purchases on thesecond display. The user may also request content items to be playedback that are resident within the local network, e.g., content stored ona DVR or Blu-ray® player. In addition, the second display could alsoinclude and update information about other related devices, such as amedia player and a game console. While a full affiliation website may beprimarily mainly developed for the PC, a subset of its morefrequently-used functions may be implemented on the second display asthe affiliation menu 29.

While the system and method have described implementations in whichcontent playback devices have been selected before browsing and wherelittle or no reference to content playback devices is made, othervariations are possible. For example, a cache or cookie or otherinformation may be employed to store information about content playbackdevices, so that no user choice is necessary. In another example,samples of content items may be obtained from content service providers,and these samples may be browsed freely without a user selection of acontent playback device for playback. In another variation, a profilesystem may be employed that communicates content playback deviceinformation upon start-up according to a profile; e.g., a given contentplayback device may always be associated with and may authenticateitself with a given service provider. In this sense, a content playbackdevice is still being chosen, but the choice does not require anaffirmative step by the user. Use of any of these alternatives, orothers, ensures that the content consumption of each content playbackdevice is tracked. It further allows, as described, the proxy server tofilter out content that the content playback device is incapable ofplaying. It is also noted that certain types of browsing may require nodevice choice at all, e.g., browsing shopping sites. Still, some levelof customization may occur, e.g., by consideration of the originationlocation of the visiting second display's IP address.

In addition, the above description was primarily directed to animplementation in which the local IP address of the second display wasretrieved and stored on the server. However, other ways of discoveringthe second display are also possible. For example, device discovery isalso possible using a broadcast method within the local network.Compatible devices that recognize the broadcast message will respondwith their necessary credentials and information to indicate theircompliance with the web application for the second display. In manycases, broadcasting methods are primarily directed to nativeapplications, not web applications; however, a broadcasting library maybe employed to allow the implementation within a web application.

While the above description has focused on implementations where asecond display is coupled to a content playback device through a localnetwork or over the internet, it will be understood that the same willapply to any method by which the two may communicate, including 3G, 4G,and other such schemes.

Accordingly, the present invention is not limited to only thoseimplementations described above.

1. A method of managing service affiliations of one or more contentplayback devices using a second display, comprising: i. establishing asession between a second display and a server; ii. causing a list of oneor more content playback devices to be displayed on the second display;iii. receiving a first signal on the server indicating a user choice ofa content playback device; and
 1. causing a list of service affiliationsto be displayed on the second display corresponding to serviceproviders, the service affiliations associated with the content playbackdevice, and receiving a second signal on the server indicating that aservice affiliation associated with the content playback device is to beremoved, and removing the service affiliation; or
 2. receiving a thirdsignal on the server indicating that a service affiliation is to beadded and associated with the content playback device, and sending afourth signal to a service provider associated with the serviceaffiliation to create the service affiliation.
 2. The method of claim 1,wherein the session is associated with a user account, wherein at leastone of the content playback devices displayed are associated with theuser account, and wherein at least one of the service affiliationsdisplayed are associated with the user account.
 3. The method of claim1, further comprising displaying a list of potential serviceaffiliations, and wherein the receiving a third signal on the serverfurther comprises receiving a selection from the list of potentialservice affiliations.
 4. The method of claim 3, further comprisinggenerating the list of potential service affiliations based on at leastone other service affiliation associated with the user account.
 5. Themethod of claim 3, further comprising generating the list of potentialservice affiliations based on at least one technical specificationassociated with the chosen content playback device.
 6. The method ofclaim 3, further comprising generating the list of potential serviceaffiliations based on at least one ruleset.
 7. The method of claim 6,wherein the ruleset is based on a geographic region of the chosencontent playback device.
 8. The method of claim 1, further comprisingloading a browser of the second display with a URL associated with thechosen service provider.
 9. The method of claim 1, further comprisingreceiving information about the content playback device from a secondserver.
 10. The method of claim 1, wherein the content playback deviceis an IPTV, a digital video recorder, a Blu-ray® player, a Blu-ray®recorder, a DVD player, a DVD recorder, an internet appliance, or anaudio system.
 11. The method of claim 1, further comprising inheriting aconfiguration from another content playback device, the configurationincluding at least one set of one or more service affiliations.
 12. Themethod of claim 1, wherein the second display is a tablet computer, asmart phone, a laptop computer, a desktop computer, an internetappliance, or a computing device with internet access.
 13. The method ofclaim 2, wherein upon receipt of the third signal, further comprisingreceiving an inputted code and transmitting the received code to theservice provider, and receiving from a service provider a transmitteduser token and affiliation token, the tokens to be associated with theuser account.
 14. The method of claim 2, wherein upon receipt of thesecond signal, at least one user account identifier and theauthentication credential is transmitted to the service provider,whereby the service affiliation is removed from the content playbackdevice.
 15. The method of claim 1, wherein the causing a list of one ormore content playback devices to be displayed on the second displayincludes: retrieving information about content playback devices from auser account, discovering content playback devices on a local network,discovering content playback devices from a wireless broadcastcommunication, or discovering content playback devices from an infraredremote control signal.
 16. The method of claim 1, wherein the removingthe service affiliation further comprises sending a fifth signal to aservice provider associated with the service affiliation to remove theservice affiliation.
 17. The method of claim 1, wherein the fourthsignal includes at least one authentication credential associated withthe content playback device.
 18. A non-transitory computer-readablemedium, comprising instructions for causing a computing device toimplement the method of claim
 1. 19. A method of displaying serviceaffiliations of one or more content playback devices using a seconddisplay, comprising: i. establishing a session between a second displayand a server; ii. causing a list of one or more content playback devicesto be displayed on the second display; iii. receiving a first signal onthe server indicating a user choice of a content playback device; andiv. generating a list of service affiliations to be displayed on thesecond display corresponding to service providers, the serviceaffiliations associated with the content playback device.
 20. The methodof claim 19, further comprising: i. filtering the list based on aruleset; and ii. causing the filtered list to be displayed on the seconddisplay.
 21. The method of claim 20, wherein the ruleset is based on ageographic location of the chosen content playback device.
 22. Themethod of claim 20, wherein the ruleset is based on a time of day of thechosen content playback device.
 23. A non-transitory computer-readablemedium, comprising instructions for causing a computing device toimplement the method of claim
 19. 24. A method of displaying serviceaffiliations of one or more content playback devices using a seconddisplay, comprising: i. establishing a session between a second displayand a server, the session associated with a user account; and ii.generating a list of service affiliations to be displayed on the seconddisplay corresponding to service providers, the service affiliationsassociated with the user account.
 25. The method of claim 24, whereinthe generating is based on service affiliations associated with aselected content playback device.
 26. A non-transitory computer-readablemedium, comprising instructions for causing a computing device toimplement the method of claim
 24. 27. A method of managing serviceaffiliations of a user account using a second display, comprising: i.establishing a session between a second display and a server, thesession associated with a user account; ii. causing a list of one ormore content playback devices to be displayed on the second display;iii. receiving a first signal on the server indicating a user choice ofa content playback device; iv. causing a list of service affiliations tobe displayed on the second display corresponding to service providers,the service affiliations associated with the user account; and 1.receiving a second signal on the server indicating that a serviceaffiliation associated with the user account is to be removed, andremoving the service affiliation; or
 2. receiving a third signal on theserver indicating that a service affiliation is to be added andassociated with the user account, and sending a fourth signal to aservice provider associated with the service affiliation to create theservice affiliation.
 28. A non-transitory computer-readable medium,comprising instructions for causing a computing device to implement themethod of claim
 27. 29. A method of managing service affiliations of oneor more content playback devices using a second display, comprising: i.establishing a session between a second display and a server; ii.displaying a list of one or more content playback devices on the seconddisplay; iii. transmitting a first signal to the server indicating auser choice of a content playback device; iv. displaying a list ofservice affiliations corresponding to service providers, the serviceaffiliations associated with the content playback device; and 1.transmitting a second signal to the server indicating that a serviceaffiliation associated with the content playback device is to beremoved; or
 2. transmitting a third signal to the server indicating thata service affiliation is to be added and associated with the contentplayback device, whereby a fourth signal is sent to a service providerassociated with the service affiliation to create the serviceaffiliation.
 30. The method of claim 29, wherein the session isassociated with a user account, wherein the content playback devices areassociated with the user account, wherein the service affiliations areassociated with the user account.
 31. The method of claim 29, furthercomprising transmitting a fifth signal to a service provider associatedwith the service affiliation to remove the service affiliation.
 32. Themethod of claim 29, wherein the fourth signal includes at least oneauthentication credential associated with the content playback device.33. A non-transitory computer-readable medium, comprising instructionsfor causing a computing device to implement the method of claim
 29. 34.A method of managing service affiliations of one or more contentplayback devices using a second display, comprising: i. establishing asession between a second display and a server, the session associatedwith a user account; ii. displaying a list of one or more contentplayback devices on the second display; iii. transmitting a first signalto the server indicating a user choice of a content playback device; iv.displaying a list of service affiliations corresponding to serviceproviders, the service affiliations associated with the user account;and
 1. transmitting a second signal to the server indicating that aservice affiliation associated with the user account is to be removed;or
 2. transmitting a third signal to the server indicating that aservice affiliation is to be added and associated with the user account,whereby a fourth signal is sent to a service provider associated withthe service affiliation to create the service affiliation.
 35. Anon-transitory computer-readable medium, comprising instructions forcausing a computing device to implement the method of claim 34.